// 评论相关类型定义

// 评论数据接口
export interface Comment {
  comment_id: number;
  answer_comment_id: number;
  parent_comment_id: number;
  publisher_id: number;
  publisher_name: string;
  publisher_image: string;
  comment_text: string;
  create_time: number;
  likes: number;
  dislikes: number;
  marks: number;
  shares: number;
  child_comments: number;
}

// 获取评论列表的参数
export interface GetCommentsParams {
  content_id: number;
  parent_comment_id?: number; // 0-查询所有一级评论，其他值-查询对应父评论下的二级评论
  order_by?: string; // 排序方式：create_time, likes等
  order?: number; // 0-降序，1-升序
  page_size?: number; // 分页大小
  page_num?: number; // 页码
}

// 获取评论列表的响应结构
export interface GetCommentsResponse {
  code: number;
  msg: string;
  data: {
    total: number;
    comments: Comment[];
  };
}

// 发布评论的参数
export interface PublishCommentParams {
  content_id: number; // 动态id
  publisher_id: number; // 发布者id
  parent_comment_id: number; // 物理父评论id
  show_parent_comment_id?: number; // 展示父评论id
  comment_text: string; // 评论内容
}

// 点赞/取消点赞评论的参数
export interface LikeCommentParams {
  comment_id: number;
  user_id: number;
  action: 'like' | 'unlike'; // like-点赞，unlike-取消点赞
}

// 点踩/取消点踩评论的参数
export interface DislikeCommentParams {
  comment_id: number;
  user_id: number;
  action: 'dislike' | 'undislike'; // dislike-点踩，undislike-取消点踩
}

// 收藏/取消收藏评论的参数
export interface MarkCommentParams {
  comment_id: number;
  user_id: number;
  action: 'mark' | 'unmark'; // mark-收藏，unmark-取消收藏
}

// 修改评论的参数
export interface UpdateCommentParams {
  id: number; // 评论ID
  comment_text: string; // 评论内容
}

// 通用操作响应结构
export interface CommentActionResponse {
  code: number;
  msg: string;
}
